草庐IT

c - 在 C 中执行 shellcode (visual studio 2017

全部标签

c# - 从命令获取可执行文件的路径(与 cmd 一样)

给定命令的命令行样式路径,例如bin/server.exe或ping,我如何获得此可执行文件的完整路径(如cmd或者Process.Start会解决它)?我试过Path.GetFullPath,但它总是相对于工作目录展开。它正确地扩展了bin/server.exe,但是给定ping它返回c:\users\matt\ping(不存在)。我想要c:\Windows\system32\ping.exe。编辑:我想要与cmd相同的行为。一些注意事项:当路径中存在与本地同名的可执行文件时,cmd优先选择本地cmd可以将命令server扩展为server.bat或server.exe(添加文件扩展

c# - 如何在 .NET 中执行/打开任何文件

如果我有任何类型文件(.doc、.pdf、.png...等)的路径,并且我想打开该文件,因为它是通过双击打开的(无需确定主机程序)).我的意思的一个例子是:.doc文件需要通过MSWord或机器中存在的任何文字处理器打开,并将其设置为默认文字处理器。 最佳答案 http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.useshellexecute.aspxProcessproc=newProcess();proc.StartInfo.Fi

c# - Visual Studio 2017 : "Object reference not set to an instance of an object" while loading the project

我在VS解决方案中有一个项目可以在VS2015中正确加载,但它似乎在VS2017(RC2)中已损坏。在解决方案资源管理器中,它显示其“加载失败”,当我尝试重新加载它时,我收到一个错误弹出窗口,消息为“对象引用未设置为对象的实例”。我认为这可能是因为VS2017以某种方式更改了.csproj文件以满足他们的需要,但是在将它与VS2015解决方案中的版本进行比较后我发现它们并没有什么不同。有人遇到过这样的事情吗?以及如何修复它?谢谢。 最佳答案 对于VisualStudio2017的我来说,这些建议都没有奏效。有效的方法是关闭所有Vis

c# - 发生异常后向后单步执行程序 - Visual Studio

有没有办法从发生错误/异常的地方退回程序?还是看错误发生前调用方法的顺序? 最佳答案 在VisualStudio2010的终极版本中,您可以使用Inellitrace返回执行,正如DanPuzey提到的那样。但是,在任何版本的VisualStudio中,您仍然可以仅从调用堆栈中获取大量信息。它不仅显示导致当前位置的调用,通过双击“调用堆栈”窗口中的点,您还可以跳转到调用每个方法的代码中的点。堆栈的状态得以保留,因此您甚至可以在调用方法中看到局部变量的值。 关于c#-发生异常后向后单步执行

c# - linq 无法对 'Table(req)' 执行创建、更新或删除操作,因为它没有主键

当表没有主键时,我如何在表中添加行。 最佳答案 正如您的问题标题所说,LINQtoSQL无法对没有主键的表执行创建、更新或删除操作。这是不可能的。因此,您可能需要使用DataContext.ExecuteCommand()做这些事情,或者更好的是,重构您的数据库,使表具有主键。 关于c#-linq无法对'Table(req)'执行创建、更新或删除操作,因为它没有主键,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

c# - 如果我在 c# 中的 catch() 中有返回值,a 中的代码最终会被执行吗?

我有以下代码片段/示例。这不是工作代码我只是写这个来问一个关于catch,finally和return的问题:try{doSomething();}catch(Exceptione){log(e);returnContent("Therewasanexception");}finally{Stopwatch.Stop();}if(vm.Detail.Any()){returnPartialView("QuestionDetails",vm);}else{returnContent("Norecordsfound");}据我所知,如果tryblock中存在异常,它将被捕获。但是如果cat

c# - 执行此操作的 LINQ 方式是什么

比如说,我有一个列表数组,我想计算所有列表中所有项目的数量。我将如何使用LINQ计算计数?(这里只是一般的好奇心)这是老办法:List[]Lists=//(initthearrayoflists)intcount=0;foreach(ListlistinLists)count+=list.Count;returncount;您将如何对其进行LINQ化?(请使用c#语法) 最佳答案 使用Sum()方法:intsummedCount=Lists.Sum(l=>l.Count); 关于c#-执

c# - 如何取消方法的执行?

假设我在C#中执行方法“Method1”。一旦执行进入方法,我会检查几个条件,如果其中任何条件为假,则应停止执行Method1。我该怎么做,即可以在满足特定条件时执行方法。?但是我的代码是这样的,intMethod1(){switch(exp){case1:if(condition)//dothefollowing.**else//Stopexecutingthemethod.**break;case2:...}} 最佳答案 使用return语句。if(!condition1)return;if(!condition2)return

c# - Entity Framework 的查询执行速度极慢且效率低下

我在Windows2008R2的ASP.NET上运行EntityFramework4.1和.NET4.5。我正在使用EF代码优先连接到SQLServer2008R2,并执行一个相当复杂的LINQ查询,但结果只是一个Count()。我已经在两台不同的网络服务器上重现了这个问题,但只有一个数据库(当然是生产环境)。它最近开始发生,没有在Web或数据库端更改应用程序、数据库结构或服务器。我的问题是在某些情况下执行查询会花费大量时间(接近4分钟)。我可以采用从SQLProfiler中提取的实际查询,并在大约1秒内在SSMS中执行。这对我来说是一致且可重现的,但是如果我将其中一个参数(“2015

c# - VS 2017 .Net Core 2.0 控制台应用程序发布失败

我一直在尝试使用VisualStudio2017社区版发布.NetCore2.0控制台应用程序,但它总是失败(它在VS2017中完美运行)。这是我的CSPROJ:Exewin10-x64;osx.10.11-x64netcoreapp2.0Always这些是我创建的发布配置文件的属性。点击发布后,我会看到这个错误窗口。下面是它生成的非常有用的“诊断日志”。System.AggregateException:Oneormoreerrorsoccurred.--->System.Exception:Publishingfailed.---Endofinnerexceptionstacktr